//Source file: D:\\test\\com\\ce\\pms\\house\\model\\ExamineApproveDomain.java

package com.ce.pms.house.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.ce.pms.common.model.SysInfo;
import com.ce.pms.common.model.SysrefcodeDO;
import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称:退伙审批
 * 关联表:HM_EXAMINE_APPROVE
 */
@Entity
@Table(name="HM_EXAMINE_APPROVE")
public class ExamineApproveDomain implements IDomainObject{
	@Id @GeneratedValue
	@Column(name="EXAMINE_APPROVE_ID")
	private Long keyword;

	/**
	 * 退伙登记
	 * 检索策略:lazy=false
	 */
	@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="GO_OUT_ID",nullable=true)
	private GoOutDomain goOut;

	/**
	 * 审批意见
	 */
	@Column(name="NOTION",length=500)
	private String notion;

	/**
	 * 审批时间
	 */
	@Column(name="EXAMINE_DATE")
	@Temporal(TemporalType.TIMESTAMP)
	private Date examineDate;

	/**
	 * 审批动作
	 */
	@ManyToOne(cascade={})
	@JoinColumn(name="SYS_REF_ID1")
	private SysrefcodeDO consequence;

	/**
	 * 审核角色:001客服经理;002财务经理
	 */
	@OneToOne
	@JoinColumn(name="SYS_REF_ID2")
	private SysrefcodeDO approveRole;

	/**
	 * 是否有效1有效0无效
	 */
	@Column(name="VALIDITY",length=1)
	private String validity;

	/**
	 * 审批人
	 */
	@Column(name = "USER_ID",nullable = false)
	private Long userId;

	/**
	 * 系统信息
	 */
	@Embedded
	private SysInfo sysInfo;

	/**
	 * @roseuid 485B103802CE
	 */
	public ExamineApproveDomain() {

	}


	/**
	 *
	 * @param goOut 退伙登记
	 * @param validity 有效性
	 * @param userId 审批人ID
	 * @param sysInfo 系统信息
	 */
	public ExamineApproveDomain(GoOutDomain goOut, String validity, Long userId, SysInfo sysInfo) {
		super();
		this.userId = userId;
		this.goOut = goOut;
		this.validity = validity;
		this.sysInfo = sysInfo;
	}



	public SysInfo getSysInfo() {
		return sysInfo;
	}



	public void setSysInfo(SysInfo sysInfo) {
		this.sysInfo = sysInfo;
	}






	public Date getExamineDate() {
		return examineDate;
	}

	public void setExamineDate(Date examineDate) {
		this.examineDate = examineDate;
	}

	public GoOutDomain getGoOut() {
		return goOut;
	}

	public void setGoOut(GoOutDomain goOut) {
		this.goOut = goOut;
	}

	public Long getKeyword() {
		return keyword;
	}

	public void setKeyword(Long keyword) {
		this.keyword = keyword;
	}

	public String getNotion() {
		return notion;
	}

	public void setNotion(String notion) {
		this.notion = notion;
	}



	public String getValidity() {
		return validity;
	}

	public void setValidity(String validity) {
		this.validity = validity;
	}


	public SysrefcodeDO getConsequence() {
		return consequence;
	}


	public void setConsequence(SysrefcodeDO consequence) {
		this.consequence = consequence;
	}


	public Long getUserId() {
		return userId;
	}


	public void setUserId(Long userId) {
		this.userId = userId;
	}


	public SysrefcodeDO getApproveRole() {
		return approveRole;
	}


	public void setApproveRole(SysrefcodeDO approveRole) {
		this.approveRole = approveRole;
	}



}
